www.gusucode.com > matlab从零到进阶程序与数据 > matlab从零到进阶程序与数据/第19章 回归分析/examp19_3_reglm.m
%-------------------------------------------------------------------------- % 读取原始数据,调用自编函数reglm作5元线性回归 %-------------------------------------------------------------------------- %*********************************读取数据********************************** xydata = xlsread('examp19_3_1.xls'); y = xydata(:, 2); X = xydata(:, 3:7); %*********调用reglm函数作5元线性回归显示回归分析的方差分析表和参数估计表******* reglm(y,X) %-------------------------------------------------------------------------- % 剔除不显著变量,调用自编函数reglm作3元线性回归 %-------------------------------------------------------------------------- X135 = X(:,[1 3 5]); varnames = {'X1','X3','X5'}; reglm(y, X135, [], varnames); %-------------------------------------------------------------------------- % 调用自编函数reglm作完全二次回归 %-------------------------------------------------------------------------- reglm(y,X,'quadratic') %-------------------------------------------------------------------------- % 绘制以上3次拟合的拟合效果图 %-------------------------------------------------------------------------- s1 = reglm(y,X); X135 = X(:,[1 3 5]); varnames = {'X1','X3','X5'}; s2 = reglm(y, X135, [], varnames); s3 = reglm(y,X,'quadratic'); figure; plot(y,'ko'); hold on plot(s1.yhat,':','linewidth',2); plot(s2.yhat,'r-.','linewidth',2); plot(s3.yhat,'k','linewidth',2); legend('y的原始散点','5元线性回归拟合','3元线性回归拟合','完全二次回归拟合'); xlabel('y的观测序号'); ylabel('y');